home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 26
/
Cream of the Crop 26.iso
/
program
/
ddj0897.zip
/
DYN401.ZIP
/
class
/
loseq.c
< prev
next >
Wrap
C/C++ Source or Header
|
1997-04-16
|
2KB
|
96 lines
/* Copyright (c) 1993-1996 Algorithms Corporation */
/* All rights reserved. */
/* This file automatically generated by dpp - do not edit */
#define DPP_STRATEGY 2
#define DPP_FASTWIDE 0
#define CLASS LinkObjectSequence_c
#define ivType LinkObjectSequence_iv_t
#include "generics.h"
object LinkObjectSequence_c;
#line 26 "loseq.c"
typedef struct _LinkObjectSequence_iv_t {
object iNext;
} LinkObjectSequence_iv_t;
#line 20 "loseq.d"
cmeth objrtn LinkObjectSequence_cm_gNewWithObj(object self, object link)
{
object los;
ivType *iv;
ChkArgNul(link, 2);
los = oSuper(LinkObjectSequence_c, gNew, self)(self);
iv = ivPtr(los);
iv->iNext = link;
return los;
}
imeth objrtn LinkObjectSequence_im_gNext(object self)
{ LinkObjectSequence_iv_t *iv = GetIVs(LinkObjectSequence, self);
object n;
if (n = iv->iNext) {
iv->iNext = gNext(iv->iNext);
return gValue(n);
}
return gDispose(self);
}
#line 57 "loseq.c"
objrtn LinkObjectSequence_initialize(void)
{
static CRITICALSECTION cs;
static int volatile once = 0;
ENTERCRITICALSECTION(_CI_CS_);
if (!once) {
INITIALIZECRITICALSECTION(cs);
once = 1;
}
LEAVECRITICALSECTION(_CI_CS_);
ENTERCRITICALSECTION(cs);
if (LinkObjectSequence_c) {
LEAVECRITICALSECTION(cs);
return LinkObjectSequence_c;
}
INHIBIT_THREADER;
Sequence_initialize();
if (LinkObjectSequence_c) {
ENABLE_THREADER;
LEAVECRITICALSECTION(cs);
return LinkObjectSequence_c;
}
LinkObjectSequence_c = gNewClass(Class, "LinkObjectSequence", sizeof(LinkObjectSequence_iv_t), 0, Sequence, END);
cMethodFor(LinkObjectSequence, gNewWithObj, LinkObjectSequence_cm_gNewWithObj);
iMethodFor(LinkObjectSequence, gNext, LinkObjectSequence_im_gNext);
ENABLE_THREADER;
LEAVECRITICALSECTION(cs);
return LinkObjectSequence_c;
}